

//class Solution {
//    public ListNode reverseKGroup(ListNode head, int k) {
//        if (head == null || head.next == null) return head;
//        ListNode cur = head;
//        int size = 0;
//        while (cur != null) {
//            size++;
//            cur = cur.next;
//        }
//        if (size < k) return head;
//
//        ListNode prev = head;
//        cur = head.next;
//        size = 0;
//        while (size < k - 1) {
//            ListNode curNext = cur.next;
//            cur.next = prev;
//            prev = cur;
//            cur = curNext;
//            size++;
//        }
//        head.next = reverseKGroup(cur, k);
//        return prev;
//
//    }
//}